package com.mtw.bbs.fileAdmin.strategy;


import com.mtw.bbs.fileAdmin.pojo.entity.FileEntity;
import com.mtw.bbs.fileAdmin.pojo.entity.FileShard;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.InputStream;

/**
 * 文件上传策略
 */
public interface UploadStrategy {

    /**
     * 采用策略
     */
    String strategy();


    /**
     * 上传
     */
    boolean upload(MultipartFile file, FileEntity fileInfo);



    /**
     * 上传
     */
    boolean simpleUpload(File file, String path);


    /**
     * 分片上传
     */
    boolean shardUpload(MultipartFile file,FileShard fileShard);


    /**
     * 合并文件
     */
    boolean mergeFile(FileShard fileShard);


    /**
     * 获取文件url
     */
    String getFileUrl(String path);


    /**
     * 获取文件流
     */
    InputStream getFileStream(String path);
}
